package code

import org.joda.time.DateTime


class Usuario(val nomUsuario: String, var password: String,val nombre: String, val apellido: String,
			  val email: String, val fechaNac: DateTime) {
  
  /**
   * Imprime en consola los datos "publicos" del usuario
   */
  def mostrar() {
    println(s"Usuario: $nomUsuario \nPass: ******* \nNombre: $nombre \nApellido: $apellido \nE-mail: $email \nFecha de nacimiento: $fechaNac")
  }
   
  
  /**
   * Cambia, si es posible la password por una nueva
   * @param una passwordNueva -> String
   */
  def cambiarPassword(passwordNueva: String) {
    if(password != passwordNueva){
      password = passwordNueva
    } else {
      throw new PasswordInvalidaException("La password es igual a la password anterior")
    }
  }
  
  /**
   * Compara la igualdad con otro usuario
   * @param un Usuario
   * @return true si el usuario dado es igual a this
   * 		Criterio de comparacion: dos usuarios son iguales si su nomUsuario es el mismo
   */
  def equals(usuario: Usuario): Boolean = this.nomUsuario == usuario.nomUsuario 
  
}